package be.khleuven.kevinvranken.entiteiten;

import be.khleuven.kevinvranken.SpelPaneel;
import java.awt.Graphics;
import java.awt.Rectangle;

/**
 *
 * @author Kevin
 */
public abstract class Entiteit {

    private SpelPaneel spelPaneel;
    public double x; //Huidige X-locatie
    public double y; //Huidige Y-locatie
    private Rectangle collisionRechthoek = new Rectangle(); // Collion detectie voor eigen object

    public Entiteit(SpelPaneel spelPaneel, int x, int y) {
        this.spelPaneel = spelPaneel;
        this.x = x;
        this.y = y;
    }

    public abstract void collidedWith(Entiteit andere);

    /**
     * Collision detectie.
     *
     * @param andere De andere entiteit waar we op botsingen gaan checken
     * @return True indien er sprake is van een botsing
     */
     public boolean collidesWith(Entiteit andere) {
             return collisionRechthoek.intersects(andere.getCollisionRechthoek());
    }

    public abstract void teken(Graphics g);

    /**
     * @return the spelPaneel
     */
    public SpelPaneel getSpelPaneel() {
        return spelPaneel;
    }

    /**
     * @param spelPaneel the spelPaneel to set
     */
    public void setSpelPaneel(SpelPaneel spelPaneel) {
        this.spelPaneel = spelPaneel;
    }

    /**
     * @return the collisionRechthoek
     */
    public Rectangle getCollisionRechthoek() {
        return collisionRechthoek;
    }


}
